package com.asp.aspchain.core.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

/**
 * @author aspire
 * @Date 2018-10-24 11:13
 */
@TableName("t_abc_notify_record")
public class NotifyRecordModel extends Model<NotifyRecordModel> {

	private static final long serialVersionUID = 1L;

	/**
	 * NTF+时间戳
	 */
	@TableId(value = "notifyid", type = IdType.INPUT)
	private String notifyid;
	/**
	 * 创建时间
	 */
	private Date createtime;
	/**
	 * 更新时间
	 */
	private Date updatetime;
	/**
	 * App标示
	 */
	private String appmark;
	/**
	 * 订单号
	 */
	private String orderid;
	/**
	 * ABCS生成交易号
	 */
	private String tradeid;
	/**
	 * 交易时间
	 */
	private Date tradetime;
	/**
	 * 交易类型
	 */
	private String tradetype;
	/**
	 * token余额类型 eth (以太TOKEN） sxt（碎星TOKEN） sxt(黑钻TOKEN）
	 */
	private String tokentype;
	/**
	 * token值
	 */
	private BigInteger tokenvalue;
	/**
	 * 出账户
	 */
	private String from;
	/**
	 * 入账户
	 */
	private String to;
	/**
	 * 区块连的交易id
	 */
	private String trancationid;
	/**
	 * 区块交易时间
	 */
	private Date trancationtime;
	/**
	 * 通知次数 默认为0
	 */
	private Integer count;
	/**
	 * 00 成功 01 网络超时 02 对端返回错误
	 */
	private String status;
	/**
	 * 资产号
	 */
	private String asset;

	/**
	 * 获取: NTF+时间戳
	 */
	public String getNotifyid() {
		return notifyid;
	}

	/**
	 * 设置: NTF+时间戳
	 */
	public void setNotifyid(String notifyid) {
		this.notifyid = notifyid;
	}

	/**
	 * 获取: 创建时间
	 */
	public Date getCreatetime() {
		return createtime;
	}

	/**
	 * 设置: 创建时间
	 */
	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}

	/**
	 * 获取: 更新时间
	 */
	public Date getUpdatetime() {
		return updatetime;
	}

	/**
	 * 设置: 更新时间
	 */
	public void setUpdatetime(Date updatetime) {
		this.updatetime = updatetime;
	}

	/**
	 * 获取: App标示
	 */
	public String getAppmark() {
		return appmark;
	}

	/**
	 * 设置: App标示
	 */
	public void setAppmark(String appmark) {
		this.appmark = appmark;
	}

	/**
	 * 获取: 订单号
	 */
	public String getOrderid() {
		return orderid;
	}

	/**
	 * 设置: 订单号
	 */
	public void setOrderid(String orderid) {
		this.orderid = orderid;
	}

	/**
	 * 获取: ABCS生成交易号
	 */
	public String getTradeid() {
		return tradeid;
	}

	/**
	 * 设置: ABCS生成交易号
	 */
	public void setTradeid(String tradeid) {
		this.tradeid = tradeid;
	}

	/**
	 * 获取: 交易时间
	 */
	public Date getTradetime() {
		return tradetime;
	}

	/**
	 * 设置: 交易时间
	 */
	public void setTradetime(Date tradetime) {
		this.tradetime = tradetime;
	}

	/**
	 * 获取: 交易类型
	 */
	public String getTradetype() {
		return tradetype;
	}

	/**
	 * 设置: 交易类型
	 */
	public void setTradetype(String tradetype) {
		this.tradetype = tradetype;
	}

	/**
	 * 获取: token余额类型 eth (以太TOKEN） sxt（碎星TOKEN） sxt(黑转TOKEN）
	 */
	public String getTokentype() {
		return tokentype;
	}
	/**
	 * 设置: token余额类型 eth (以太TOKEN） sxt（碎星TOKEN） sxt(黑转TOKEN）
	 */
	public void setTokentype(String tokentype) {
		this.tokentype = tokentype;
	}
	/**
	 * 获取: token值
	 */
	public BigInteger getTokenvalue() {
		return tokenvalue;
	}

	/**
	 * 设置: token值
	 */
	public void setTokenvalue(BigInteger tokenvalue) {
		this.tokenvalue = tokenvalue;
	}

	/**
	 * 获取: 出账户
	 */
	public String getFrom() {
		return from;
	}

	/**
	 * 设置: 出账户
	 */
	public void setFrom(String from) {
		this.from = from;
	}

	/**
	 * 获取: 入账户
	 */
	public String getTo() {
		return to;
	}

	/**
	 * 设置: 入账户
	 */
	public void setTo(String to) {
		this.to = to;
	}

	/**
	 * 获取: 区块连的交易id
	 */
	public String getTrancationid() {
		return trancationid;
	}

	/**
	 * 设置: 区块连的交易id
	 */
	public void setTrancationid(String trancationid) {
		this.trancationid = trancationid;
	}

	/**
	 * 获取: 区块交易时间
	 */
	public Date getTrancationtime() {
		return trancationtime;
	}

	/**
	 * 设置: 区块交易时间
	 */
	public void setTrancationtime(Date trancationtime) {
		this.trancationtime = trancationtime;
	}

	/**
	 * 获取: 通知次数 默认为0
	 */
	public Integer getCount() {
		return count;
	}

	/**
	 * 设置: 通知次数 默认为0
	 */
	public void setCount(Integer count) {
		this.count = count;
	}

	/**
	 * 获取: 00 成功 01 网络超时 02 对端返回错误
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * 设置: 00 成功 01 网络超时 02 对端返回错误
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * 获取: 资产号
	 */
	public String getAsset() {
		return asset;
	}

	/**
	 * 设置: 资产号
	 */
	public void setAsset(String asset) {
		this.asset = asset;
	}

	@Override
	protected Serializable pkVal() {
		return this.notifyid;
	}

	@Override
	public String toString() {
		return ReflectionToStringBuilder.toString(this);
	}
}
